package com.ruoyi.danny.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 请假对象 workflow_leave
 * 
 * @author danny
 * @date 2020-10-28
 */
public class WorkflowLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String id;

    /** 请假类型 */
    @Excel(name = "请假类型")
    private String type;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 原因 */
    @Excel(name = "原因")
    private String reason;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveStartTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date leaveEndTime;


    private String instanceId;
    private String taskName;

    /** 状态 */
    @Excel(name = "状态")
    private String state;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createName;

    /** bpmn流程图片地址 */
    private String bpmnUrl;



    /** 司机编号 */
    private Long driverId;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idNumber;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateOfBirth;

    /** 身份证有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "身份证有效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityPeriodIdentityCard;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    private String familyAddress;

    /** 身份证正面照 */
    @Excel(name = "身份证正面照")
    private String frontPhotoCard;

    /** 身份证反面照 */
    @Excel(name = "身份证反面照")
    private String reversePhotoCard;

    /** 初次领证日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "初次领证日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateFirstApplication;

    /** 驾驶证有效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "驾驶证有效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityPeriodDrivingLicense;

    /** 准驾车型 */
    @Excel(name = "准驾车型")
    private String quasiDrivingType;

    /** 驾驶证正本照 */
    @Excel(name = "驾驶证正本照")
    private String drivingLicenceFrontPicture;

    /** 驾驶证副本照 */
    @Excel(name = "驾驶证副本照")
    private String drivingLicenceContraryPicture;

    /** 信用分 */
    @Excel(name = "信用分")
    private Long creditScore;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private Integer approveStatus;

    /** 手机号 */
    @Excel(name = "手机号")
    private String cellPhoneNumber;

    /** 电子邮箱 */
    @Excel(name = "电子邮箱")
    private String emailAddress;

    public void setDriverId(Long driverId)
    {
        this.driverId = driverId;
    }

    public Long getDriverId()
    {
        return driverId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setRealName(String realName)
    {
        this.realName = realName;
    }

    public String getRealName()
    {
        return realName;
    }
    public void setIdNumber(String idNumber)
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber()
    {
        return idNumber;
    }
    public void setGender(String gender)
    {
        this.gender = gender;
    }

    public String getGender()
    {
        return gender;
    }
    public void setNativePlace(String nativePlace)
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace()
    {
        return nativePlace;
    }
    public void setDateOfBirth(Date dateOfBirth)
    {
        this.dateOfBirth = dateOfBirth;
    }

    public Date getDateOfBirth()
    {
        return dateOfBirth;
    }
    public void setValidityPeriodIdentityCard(Date validityPeriodIdentityCard)
    {
        this.validityPeriodIdentityCard = validityPeriodIdentityCard;
    }

    public Date getValidityPeriodIdentityCard()
    {
        return validityPeriodIdentityCard;
    }
    public void setFamilyAddress(String familyAddress)
    {
        this.familyAddress = familyAddress;
    }

    public String getFamilyAddress()
    {
        return familyAddress;
    }
    public void setFrontPhotoCard(String frontPhotoCard)
    {
        this.frontPhotoCard = frontPhotoCard;
    }

    public String getFrontPhotoCard()
    {
        return frontPhotoCard;
    }
    public void setReversePhotoCard(String reversePhotoCard)
    {
        this.reversePhotoCard = reversePhotoCard;
    }

    public String getReversePhotoCard()
    {
        return reversePhotoCard;
    }
    public void setDateFirstApplication(Date dateFirstApplication)
    {
        this.dateFirstApplication = dateFirstApplication;
    }

    public Date getDateFirstApplication()
    {
        return dateFirstApplication;
    }
    public void setValidityPeriodDrivingLicense(Date validityPeriodDrivingLicense)
    {
        this.validityPeriodDrivingLicense = validityPeriodDrivingLicense;
    }

    public Date getValidityPeriodDrivingLicense()
    {
        return validityPeriodDrivingLicense;
    }
    public void setQuasiDrivingType(String quasiDrivingType)
    {
        this.quasiDrivingType = quasiDrivingType;
    }

    public String getQuasiDrivingType()
    {
        return quasiDrivingType;
    }
    public void setDrivingLicenceFrontPicture(String drivingLicenceFrontPicture)
    {
        this.drivingLicenceFrontPicture = drivingLicenceFrontPicture;
    }

    public String getDrivingLicenceFrontPicture()
    {
        return drivingLicenceFrontPicture;
    }
    public void setDrivingLicenceContraryPicture(String drivingLicenceContraryPicture)
    {
        this.drivingLicenceContraryPicture = drivingLicenceContraryPicture;
    }

    public String getDrivingLicenceContraryPicture()
    {
        return drivingLicenceContraryPicture;
    }
    public void setCreditScore(Long creditScore)
    {
        this.creditScore = creditScore;
    }

    public Long getCreditScore()
    {
        return creditScore;
    }
    public void setApproveStatus(Integer approveStatus)
    {
        this.approveStatus = approveStatus;
    }

    public Integer getApproveStatus()
    {
        return approveStatus;
    }
    public void setCellPhoneNumber(String cellPhoneNumber)
    {
        this.cellPhoneNumber = cellPhoneNumber;
    }

    public String getCellPhoneNumber()
    {
        return cellPhoneNumber;
    }
    public void setEmailAddress(String emailAddress)
    {
        this.emailAddress = emailAddress;
    }

    public String getEmailAddress()
    {
        return emailAddress;
    }






    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setLeaveStartTime(Date leaveStartTime) 
    {
        this.leaveStartTime = leaveStartTime;
    }

    public Date getLeaveStartTime() 
    {
        return leaveStartTime;
    }
    public void setLeaveEndTime(Date leaveEndTime) 
    {
        this.leaveEndTime = leaveEndTime;
    }

    public Date getLeaveEndTime() 
    {
        return leaveEndTime;
    }
    public void setInstanceId(String instanceId) 
    {
        this.instanceId = instanceId;
    }

    public String getInstanceId() 
    {
        return instanceId;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getBpmnUrl() {
        return bpmnUrl;
    }

    public void setBpmnUrl(String bpmnUrl) {
        this.bpmnUrl = bpmnUrl;
    }

//    @Override
//    public String toString() {
//        return "WorkflowLeave{" +
//                "id='" + id + '\'' +
//                ", type='" + type + '\'' +
//                ", title='" + title + '\'' +
//                ", reason='" + reason + '\'' +
//                ", leaveStartTime=" + leaveStartTime +
//                ", leaveEndTime=" + leaveEndTime +
//                ", instanceId='" + instanceId + '\'' +
//                ", taskName='" + taskName + '\'' +
//                ", state='" + state + '\'' +
//                ", createName='" + createName + '\'' +
//                ", bpmnUrl='" + bpmnUrl + '\'' +
//                "} " + super.toString();
//    }


    @Override
    public String toString() {
        return "WorkflowLeave{" +
                "id='" + id + '\'' +
                ", type='" + type + '\'' +
                ", title='" + title + '\'' +
                ", reason='" + reason + '\'' +
                ", leaveStartTime=" + leaveStartTime +
                ", leaveEndTime=" + leaveEndTime +
                ", instanceId='" + instanceId + '\'' +
                ", taskName='" + taskName + '\'' +
                ", state='" + state + '\'' +
                ", createName='" + createName + '\'' +
                ", bpmnUrl='" + bpmnUrl + '\'' +
                ", driverId=" + driverId +
                ", userId=" + userId +
                ", realName='" + realName + '\'' +
                ", idNumber='" + idNumber + '\'' +
                ", gender='" + gender + '\'' +
                ", nativePlace='" + nativePlace + '\'' +
                ", dateOfBirth=" + dateOfBirth +
                ", validityPeriodIdentityCard=" + validityPeriodIdentityCard +
                ", familyAddress='" + familyAddress + '\'' +
                ", frontPhotoCard='" + frontPhotoCard + '\'' +
                ", reversePhotoCard='" + reversePhotoCard + '\'' +
                ", dateFirstApplication=" + dateFirstApplication +
                ", validityPeriodDrivingLicense=" + validityPeriodDrivingLicense +
                ", quasiDrivingType='" + quasiDrivingType + '\'' +
                ", drivingLicenceFrontPicture='" + drivingLicenceFrontPicture + '\'' +
                ", drivingLicenceContraryPicture='" + drivingLicenceContraryPicture + '\'' +
                ", creditScore=" + creditScore +
                ", approveStatus=" + approveStatus +
                ", cellPhoneNumber='" + cellPhoneNumber + '\'' +
                ", emailAddress='" + emailAddress + '\'' +
                '}';
    }
}
